package com.coderush.admin.sys.service;

import com.coderush.admin.core.common.PageResult;
import com.coderush.admin.sys.model.dto.CompanyAddDto;
import com.coderush.admin.sys.model.dto.CompanyUpdateDto;
import com.coderush.admin.sys.model.entity.Company;
import com.baomidou.mybatisplus.extension.service.IService;
import com.coderush.admin.sys.model.vo.CompanyPageVo;
import com.coderush.admin.sys.model.vo.CompanySimpleVo;
import com.coderush.admin.sys.model.vo.CompanyVo;

import java.util.List;

/**
* @author Administrator
* @description 针对表【sys_company(公司表)】的数据库操作Service
* @createDate 2025-08-17 21:19:03
*/
public interface CompanyService extends IService<Company> {

    /**
     * 查询公司列表，用于添加/修改角色时的公司下拉列表框
     */
    List<CompanySimpleVo> findCompanyList() throws Exception;

    /**
     * 根据ID查询公司信息
     */
    CompanyVo getById(Long id) throws Exception;

    /**
     * 分页查询公司列表
     */
    PageResult<CompanyPageVo> findByPage(String companyName, Integer pageNum, Integer pageSize);

    /**
     * 修改公司信息
     */
    Boolean update(CompanyUpdateDto updateDto) throws Exception;

    /**
     * 添加公司
     * @param companyDto 数据模型
     * @return true:添加成功,false:添加失败
     */
    Boolean add(CompanyAddDto companyDto) throws Exception;

}
